package com.group7.mall.service;

import com.group7.mall.dto.UserOrderDetailDto;
import com.group7.mall.dto.UserOrderDto;
import com.group7.mall.req.UserOrderPageRequest;
import com.group7.mall.dto.UserOrderPreviewDto;
import com.group7.mall.entity.TbUserOrder;
import com.group7.mall.resp.UserOrderPageResponse;

import java.util.List;

public interface UserOrderService {

    UserOrderDetailDto showOrderDetail(UserOrderDto userOrderDto);

    int refundBeforeShipment(UserOrderDto userOrderDto);

    int userApplyService(UserOrderDto userOrderDto);

    int userConfirmReceipt(TbUserOrder tbUserOrder);

    int updateOrderAddress(UserOrderDto userOrderDto);

    UserOrderDto createOrderByCart(UserOrderDto userOrderDto);

    UserOrderDto createOrderByGoods(UserOrderDto userOrderDto);

    int orderAfterPay(UserOrderDto userOrderDto);

    UserOrderPageResponse<UserOrderPreviewDto> showUserOrder(UserOrderPageRequest userOrderPageRequest);

    int cancelUnpaidOrder(UserOrderDto userOrderDto);
}
